#ifndef _COMPILER_H
#define _COMPILER_H

#ifdef __GNUC__
#  include <compiler-gcc.h>
#endif

#ifndef likely
#  define likely(x) __builtin_expect(!!(x), 1)
#endif

#ifndef unlikely
#  define unlikely(x) __builtin_expect(!!(x), 0)
#endif

#ifndef __maybe_unused
#  define __maybe_unused     /* unimplemented */
#endif

#ifndef __always_unused
#  define __always_unused    /* unimplemented */
#endif

#ifndef noinline
#  define noinline
#endif

#ifndef __always_inline
#  define __always_inline inline
#endif

#ifndef __section
#  define __section(S) __attribute__ ((__section__(#S)))
#endif

#endif /* _COMPILER_H */

